package cz.muni.fi.pa165.hauntedhouses.dto;

import java.util.List;
import java.util.Objects;

/**A DTO representation of House entity
 *
 * @author Q.90 Siliarus
 */
public class HouseDTO {

    private Long id;
    private String name;    
    private String address;    
    private String history;    
    private List<HumanDTO> humans;    
    private List<GhostDTO> ghosts;      
    private Integer ghostCapacity;
    private Integer humanCapacity;

    
    public List<HumanDTO> getHumans() {
        return humans;
    }

    public void setHumans(List<HumanDTO> humans) {
        this.humans = humans;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getHistory() {
        return history;
    }

    public void setHistory(String history) {
        this.history = history;
    }

    public List<GhostDTO> getGhosts() {
        return ghosts;
    }

    public void setGhosts(List<GhostDTO> ghosts) {
        this.ghosts = ghosts;
    }

    public Integer getGhostCapacity() {
        return ghostCapacity;
    }

    public void setGhostCapacity(Integer ghostCapacity) {
        this.ghostCapacity = ghostCapacity;
    }

    public Integer getHumanCapacity() {
        return humanCapacity;
    }

    public void setHumanCapacity(Integer humanCapacity) {
        this.humanCapacity = humanCapacity;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }  

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 53 * hash + Objects.hashCode(this.id);
        hash = 53 * hash + Objects.hashCode(this.name);
        hash = 53 * hash + Objects.hashCode(this.address);
        hash = 53 * hash + Objects.hashCode(this.history);

        hash = 53 * hash + Objects.hashCode(this.ghostCapacity);
        hash = 53 * hash + Objects.hashCode(this.humanCapacity);
        return hash;
    }

    

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final HouseDTO other = (HouseDTO) obj;
        if (!Objects.equals(this.id, other.id)) {
            return false;
        }
        if (!Objects.equals(this.name, other.name)) {
            return false;
        }
        if (!Objects.equals(this.address, other.address)) {
            return false;
        }
        if (!Objects.equals(this.history, other.history)) {
            return false;
        }

        if (!Objects.equals(this.ghostCapacity, other.ghostCapacity)) {
            return false;
        }
        if (!Objects.equals(this.humanCapacity, other.humanCapacity)) {
            return false;
        }
        return true;
    }
    
    
}
